public class Test22 {
    public int getMaxLen(int[] nums) {
        int n = nums.length;
        int[] f = new int[n + 1];
        int[] g = new int[n + 1];
        int ret = Integer.MIN_VALUE;
        for(int i = 1;i <= n;i++) {
            if(nums[i - 1] > 0) {
                f[i] = f[i - 1] + 1;
                g[i] = g[i - 1] == 0 ? 0:g[i - 1] + 1;
            }else if(nums[i - 1] < 0) {
                f[i] = g[i - 1] == 0 ? 0:g[i - 1] + 1;
                g[i] = f[i - 1] + 1;
            }
            ret = Math.max(ret,f[i]);
        }
        return ret;
    }

    public static void main(String[] args) {
        Test22 test22 = new Test22();
        int[] arr = {0,1,-2,-3,-4};
        System.out.println(test22.getMaxLen(arr));
    }
}
